﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace cb0t
{
    class Emoji_Symbols : UserControl
    {
        private ToolTip tip { get; set; }

        public void Populate(EventHandler callback)
        {
            this.tip = new ToolTip();

            EmojiMenuShortcutItem[] items = new EmojiMenuShortcutItem[207];
            items[0] = new EmojiMenuShortcutItem { SurrogateSequence = "49 8419", Shortcut = "1⃣", Description = "Keycap 1" };
            items[1] = new EmojiMenuShortcutItem { SurrogateSequence = "50 8419", Shortcut = "2⃣", Description = "Keycap 2" };
            items[2] = new EmojiMenuShortcutItem { SurrogateSequence = "51 8419", Shortcut = "3⃣", Description = "Keycap 3" };
            items[3] = new EmojiMenuShortcutItem { SurrogateSequence = "52 8419", Shortcut = "4⃣", Description = "Keycap 4" };
            items[4] = new EmojiMenuShortcutItem { SurrogateSequence = "53 8419", Shortcut = "5⃣", Description = "Keycap 5" };
            items[5] = new EmojiMenuShortcutItem { SurrogateSequence = "54 8419", Shortcut = "6⃣", Description = "Keycap 6" };
            items[6] = new EmojiMenuShortcutItem { SurrogateSequence = "55 8419", Shortcut = "7⃣", Description = "Keycap 7" };
            items[7] = new EmojiMenuShortcutItem { SurrogateSequence = "56 8419", Shortcut = "8⃣", Description = "Keycap 8" };
            items[8] = new EmojiMenuShortcutItem { SurrogateSequence = "57 8419", Shortcut = "9⃣", Description = "Keycap 9" };
            items[9] = new EmojiMenuShortcutItem { SurrogateSequence = "48 8419", Shortcut = "0⃣", Description = "Keycap 0" };
            items[10] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56607", Shortcut = "🔟", Description = "Keycap Ten" };
            items[11] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56610", Shortcut = "🔢", Description = "Input Symbol For Numbers" };
            items[12] = new EmojiMenuShortcutItem { SurrogateSequence = "35 8419", Shortcut = "#⃣", Description = "Hash Key" };
            items[13] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56611", Shortcut = "🔣", Description = "Input Symbol For Symbols" };
            items[14] = new EmojiMenuShortcutItem { SurrogateSequence = "11014", Shortcut = "⬆", Description = "Upwards Black Arrow" };
            items[15] = new EmojiMenuShortcutItem { SurrogateSequence = "11015", Shortcut = "⬇", Description = "Downwards Black Arrow" };
            items[16] = new EmojiMenuShortcutItem { SurrogateSequence = "11013", Shortcut = "⬅", Description = "Leftwards Black Arrow" };
            items[17] = new EmojiMenuShortcutItem { SurrogateSequence = "10145", Shortcut = "➡", Description = "Black Rightwards Arrow" };
            items[18] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56608", Shortcut = "🔠", Description = "Input Symbol For Latin Capital Letters" };
            items[19] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56609", Shortcut = "🔡", Description = "Input Symbol For Latin Small Letters" };
            items[20] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56612", Shortcut = "🔤", Description = "Input Symbol For Latin Letters" };
            items[21] = new EmojiMenuShortcutItem { SurrogateSequence = "8599", Shortcut = "↗", Description = "North East Arrow" };
            items[22] = new EmojiMenuShortcutItem { SurrogateSequence = "8598", Shortcut = "↖", Description = "North West Arrow" };
            items[23] = new EmojiMenuShortcutItem { SurrogateSequence = "8600", Shortcut = "↘", Description = "South East Arrow" };
            items[24] = new EmojiMenuShortcutItem { SurrogateSequence = "8601", Shortcut = "↙", Description = "South West Arrow" };
            items[25] = new EmojiMenuShortcutItem { SurrogateSequence = "8596", Shortcut = "↔", Description = "Left Right Arrow" };
            items[26] = new EmojiMenuShortcutItem { SurrogateSequence = "8597", Shortcut = "↕", Description = "Up Down Arrow" };
            items[27] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56580", Shortcut = "🔄", Description = "Anticlockwise Downwards And Upwards" };
            items[28] = new EmojiMenuShortcutItem { SurrogateSequence = "9664", Shortcut = "◀", Description = "Black Left-Pointing Triangle" };
            items[29] = new EmojiMenuShortcutItem { SurrogateSequence = "9654", Shortcut = "▶", Description = "Black Right-Pointing Triangle" };
            items[30] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56636", Shortcut = "🔼", Description = "Up-Pointing Small Red Triangle" };
            items[31] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56637", Shortcut = "🔽", Description = "Down-Pointing Small Red Triangle" };
            items[32] = new EmojiMenuShortcutItem { SurrogateSequence = "8617", Shortcut = "↩", Description = "Leftwards Arrow With Hook" };
            items[33] = new EmojiMenuShortcutItem { SurrogateSequence = "8618", Shortcut = "↪", Description = "Rightwards Arrow With Hook" };
            items[34] = new EmojiMenuShortcutItem { SurrogateSequence = "8505", Shortcut = "ℹ", Description = "Information Source" };
            items[35] = new EmojiMenuShortcutItem { SurrogateSequence = "9194", Shortcut = "⏪", Description = "Black Left-Pointing Double Triangle" };
            items[36] = new EmojiMenuShortcutItem { SurrogateSequence = "9193", Shortcut = "⏩", Description = "Black Right-Pointing Double Triangle" };
            items[37] = new EmojiMenuShortcutItem { SurrogateSequence = "9195", Shortcut = "⏫", Description = "Black Up-Pointing Double Triangle" };
            items[38] = new EmojiMenuShortcutItem { SurrogateSequence = "9196", Shortcut = "⏬", Description = "Black Down-Pointing Double Triangle" };
            items[39] = new EmojiMenuShortcutItem { SurrogateSequence = "10549", Shortcut = "⤵", Description = "Arrow Pointing Rightwards Then Curving Downwards" };
            items[40] = new EmojiMenuShortcutItem { SurrogateSequence = "10548", Shortcut = "⤴", Description = "Arrow Pointing Rightwards Then Curving Upwards" };
            items[41] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56727", Shortcut = "🆗", Description = "Squared OK" };
            items[42] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56576", Shortcut = "🔀", Description = "Twisted Rightwards Arrows" };
            items[43] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56577", Shortcut = "🔁", Description = "Clockwise Rightwards And Leftwards Open Circle Arrows" };
            items[44] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56578", Shortcut = "🔂", Description = "Clockwise Rightwards And Leftwards Open Circle Arrows With Circled One Overlay" };
            items[45] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56725", Shortcut = "🆕", Description = "Squared New" };
            items[46] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56729", Shortcut = "🆙", Description = "Squared Up With Exclamation Mark" };
            items[47] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56722", Shortcut = "🆒", Description = "Squared Cool" };
            items[48] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56723", Shortcut = "🆓", Description = "Squared Free" };
            items[49] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56726", Shortcut = "🆖", Description = "Squared NG" };
            items[50] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56566", Shortcut = "📶", Description = "Antenna With Bars" };
            items[51] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57254", Shortcut = "🎦", Description = "Cinema" };
            items[52] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56833", Shortcut = "🈁", Description = "Squared Katakana Koko" };
            items[53] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56879", Shortcut = "🈯", Description = "Squared CJK Unified Ideograph-6307" };
            items[54] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56883", Shortcut = "🈳", Description = "Squared CJK Unified Ideograph-7A7A" };
            items[55] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56885", Shortcut = "🈵", Description = "Squared CJK Unified Ideograph-6E80" };
            items[56] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56884", Shortcut = "🈴", Description = "Squared CJK Unified Ideograph-5408" };
            items[57] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56882", Shortcut = "🈲", Description = "Squared CJK Unified Ideograph-7981" };
            items[58] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56912", Shortcut = "🉐", Description = "Circled Ideograph Advantage" };
            items[59] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56889", Shortcut = "🈹", Description = "Squared CJK Unified Ideograph-5272" };
            items[60] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56890", Shortcut = "🈺", Description = "Squared CJK Unified Ideograph-55B6" };
            items[61] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56886", Shortcut = "🈶", Description = "Squared CJK Unified Ideograph-6709" };
            items[62] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56858", Shortcut = "🈚", Description = "Squared CJK Unified Ideograph-7121" };
            items[63] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57019", Shortcut = "🚻", Description = "Restroom" };
            items[64] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57017", Shortcut = "🚹", Description = "Mens Symbol" };
            items[65] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57018", Shortcut = "🚺", Description = "Womens Symbol" };
            items[66] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57020", Shortcut = "🚼", Description = "Baby Symbol" };
            items[67] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57022", Shortcut = "🚾", Description = "Water Closet" };
            items[68] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57008", Shortcut = "🚰", Description = "Potable Water Symbol" };
            items[69] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57006", Shortcut = "🚮", Description = "Put Litter In Its Place Symbol" };
            items[70] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56703", Shortcut = "🅿", Description = "Negative Squared Latin Capital Letter P" };
            items[71] = new EmojiMenuShortcutItem { SurrogateSequence = "9855", Shortcut = "♿", Description = "Wheelchair Symbol" };
            items[72] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57005", Shortcut = "🚭", Description = "No Smoking Symbol" };
            items[73] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56887", Shortcut = "🈷", Description = "Squared CJK Unified Ideograph-6708" };
            items[74] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56888", Shortcut = "🈸", Description = "Squared CJK Unified Ideograph-7533" };
            items[75] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56834", Shortcut = "🈂", Description = "Squared Katakana Sa" };
            items[76] = new EmojiMenuShortcutItem { SurrogateSequence = "9410", Shortcut = "Ⓜ", Description = "Circled Latin Capital Letter M" };
            items[77] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57026", Shortcut = "🛂", Description = "Passport Control" };
            items[78] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57028", Shortcut = "🛄", Description = "Baggage Claim" };
            items[79] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57029", Shortcut = "🛅", Description = "Left Luggage" };
            items[80] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57027", Shortcut = "🛃", Description = "Customs" };
            items[81] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56913", Shortcut = "🉑", Description = "Circled Ideograph Accept" };
            items[82] = new EmojiMenuShortcutItem { SurrogateSequence = "12953", Shortcut = "㊙", Description = "Circled Ideograph Secret" };
            items[83] = new EmojiMenuShortcutItem { SurrogateSequence = "12951", Shortcut = "㊗", Description = "Circled Ideograph Congratulation" };
            items[84] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56721", Shortcut = "🆑", Description = "Squared CL" };
            items[85] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56728", Shortcut = "🆘", Description = "Squared SOS" };
            items[86] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56724", Shortcut = "🆔", Description = "Squared ID" };
            items[87] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57003", Shortcut = "🚫", Description = "No Entry Sign" };
            items[88] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56606", Shortcut = "🔞", Description = "No One Under Eighteen Symbol" };
            items[89] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56565", Shortcut = "📵", Description = "No Mobile Phones" };
            items[90] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57007", Shortcut = "🚯", Description = "Do Not Litter Symbol" };
            items[91] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57009", Shortcut = "🚱", Description = "Non-Potable Water Symbol" };
            items[92] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57011", Shortcut = "🚳", Description = "No Bicycles" };
            items[93] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57015", Shortcut = "🚷", Description = "No Pedestrians" };
            items[94] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57016", Shortcut = "🚸", Description = "Children Crossing" };
            items[95] = new EmojiMenuShortcutItem { SurrogateSequence = "9940", Shortcut = "⛔", Description = "No Entry" };
            items[96] = new EmojiMenuShortcutItem { SurrogateSequence = "10035", Shortcut = "✳", Description = "Eight Spoked Asterisk" };
            items[97] = new EmojiMenuShortcutItem { SurrogateSequence = "10055", Shortcut = "❇", Description = "Sparkle" };
            items[98] = new EmojiMenuShortcutItem { SurrogateSequence = "10062", Shortcut = "❎", Description = "Negative Squared Cross Mark" };
            items[99] = new EmojiMenuShortcutItem { SurrogateSequence = "9989", Shortcut = "✅", Description = "White Heavy Check Mark" };
            items[100] = new EmojiMenuShortcutItem { SurrogateSequence = "10036", Shortcut = "✴", Description = "Eight Pointed Black Star" };
            items[101] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56479", Shortcut = "💟", Description = "Heart Decoration" };
            items[102] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56730", Shortcut = "🆚", Description = "Squared VS" };
            items[103] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56563", Shortcut = "📳", Description = "Vibration Mode" };
            items[104] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56564", Shortcut = "📴", Description = "Mobile Phone Off" };
            items[105] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56688", Shortcut = "🅰", Description = "Negative Squared Latin Capital Letter A" };
            items[106] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56689", Shortcut = "🅱", Description = "Negative Squared Latin Capital Letter B" };
            items[107] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56718", Shortcut = "🆎", Description = "Negative Squared AB" };
            items[108] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56702", Shortcut = "🅾", Description = "Negative Squared Latin Capital Letter O" };
            items[109] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56480", Shortcut = "💠", Description = "Diamond Shape With A Dot Inside" };
            items[110] = new EmojiMenuShortcutItem { SurrogateSequence = "10175", Shortcut = "➿", Description = "Double Curly Loop" };
            items[111] = new EmojiMenuShortcutItem { SurrogateSequence = "9851", Shortcut = "♻", Description = "Black Universal Recycling Symbol" };
            items[112] = new EmojiMenuShortcutItem { SurrogateSequence = "9800", Shortcut = "♈", Description = "Aries" };
            items[113] = new EmojiMenuShortcutItem { SurrogateSequence = "9801", Shortcut = "♉", Description = "Taurus" };
            items[114] = new EmojiMenuShortcutItem { SurrogateSequence = "9802", Shortcut = "♊", Description = "Gemini" };
            items[115] = new EmojiMenuShortcutItem { SurrogateSequence = "9803", Shortcut = "♋", Description = "Cancer" };
            items[116] = new EmojiMenuShortcutItem { SurrogateSequence = "9804", Shortcut = "♌", Description = "Leo" };
            items[117] = new EmojiMenuShortcutItem { SurrogateSequence = "9805", Shortcut = "♍", Description = "Virgo" };
            items[118] = new EmojiMenuShortcutItem { SurrogateSequence = "9806", Shortcut = "♎", Description = "Libra" };
            items[119] = new EmojiMenuShortcutItem { SurrogateSequence = "9807", Shortcut = "♏", Description = "Scorpius" };
            items[120] = new EmojiMenuShortcutItem { SurrogateSequence = "9808", Shortcut = "♐", Description = "Sagittarius" };
            items[121] = new EmojiMenuShortcutItem { SurrogateSequence = "9809", Shortcut = "♑", Description = "Capricorn" };
            items[122] = new EmojiMenuShortcutItem { SurrogateSequence = "9810", Shortcut = "♒", Description = "Aquarius" };
            items[123] = new EmojiMenuShortcutItem { SurrogateSequence = "9811", Shortcut = "♓", Description = "Pisces" };
            items[124] = new EmojiMenuShortcutItem { SurrogateSequence = "9934", Shortcut = "⛎", Description = "Ophiuchus" };
            items[125] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56623", Shortcut = "🔯", Description = "Six Pointed Star With Middle Dot  " };
            items[126] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57319", Shortcut = "🏧", Description = "Automated Teller Machine" };
            items[127] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56505", Shortcut = "💹", Description = "Chart With Upwards Trend And Yen Sign" };
            items[128] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56498", Shortcut = "💲", Description = "Heavy Dollar Sign" };
            items[129] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56497", Shortcut = "💱", Description = "Currency Exchange" };
            items[130] = new EmojiMenuShortcutItem { SurrogateSequence = "169", Shortcut = "©", Description = "Copyright Sign" };
            items[131] = new EmojiMenuShortcutItem { SurrogateSequence = "174", Shortcut = "®", Description = "Registered Sign" };
            items[132] = new EmojiMenuShortcutItem { SurrogateSequence = "8482", Shortcut = "™", Description = "Trade Mark Sign" };
            items[133] = new EmojiMenuShortcutItem { SurrogateSequence = "10060", Shortcut = "❌", Description = "Cross Mark" };
            items[134] = new EmojiMenuShortcutItem { SurrogateSequence = "8252", Shortcut = "‼", Description = "Double Exclamation Mark" };
            items[135] = new EmojiMenuShortcutItem { SurrogateSequence = "8265", Shortcut = "⁉", Description = "Exclamation Question Mark" };
            items[136] = new EmojiMenuShortcutItem { SurrogateSequence = "10071", Shortcut = "❗", Description = "Heavy Exclamation Mark Symbol" };
            items[137] = new EmojiMenuShortcutItem { SurrogateSequence = "10067", Shortcut = "❓", Description = "Black Question Mark Ornament" };
            items[138] = new EmojiMenuShortcutItem { SurrogateSequence = "10069", Shortcut = "❕", Description = "White Exclamation Mark Ornament" };
            items[139] = new EmojiMenuShortcutItem { SurrogateSequence = "10068", Shortcut = "❔", Description = "White Question Mark Ornament" };
            items[140] = new EmojiMenuShortcutItem { SurrogateSequence = "11093", Shortcut = "⭕", Description = "Heavy Large Circle" };
            items[141] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56605", Shortcut = "🔝", Description = "Top With Upwards Arrow Above" };
            items[142] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56602", Shortcut = "🔚", Description = "End With Leftwards Arrow Above" };
            items[143] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56601", Shortcut = "🔙", Description = "Back With Leftwards Arrow Above" };
            items[144] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56603", Shortcut = "🔛", Description = "On With Exclamation Mark With Left Right Arrow Above" };
            items[145] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56604", Shortcut = "🔜", Description = "Soon With Rightwards Arrow Above" };
            items[146] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56579", Shortcut = "🔃", Description = "Clockwise Downwards And Upwards Open Circle Arrows" };
            items[147] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56667", Shortcut = "🕛", Description = "Clock Face Twelve O’Clock" };
            items[148] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56679", Shortcut = "🕧", Description = "Clock Face Twelve-Thirty" };
            items[149] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56656", Shortcut = "🕐", Description = "Clock Face One O’Clock" };
            items[150] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56668", Shortcut = "🕜", Description = "Clock Face One-Thirty" };
            items[151] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56657", Shortcut = "🕑", Description = "Clock Face Two O’Clock" };
            items[152] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56669", Shortcut = "🕝", Description = "Clock Face Two-Thirty" };
            items[153] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56658", Shortcut = "🕒", Description = "Clock Face Three O’Clock" };
            items[154] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56670", Shortcut = "🕞", Description = "Clock Face Three-Thirty" };
            items[155] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56659", Shortcut = "🕓", Description = "Clock Face Four O’Clock" };
            items[156] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56671", Shortcut = "🕟", Description = "Clock Face Four-Thirty" };
            items[157] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56660", Shortcut = "🕔", Description = "Clock Face Five O’Clock" };
            items[158] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56672", Shortcut = "🕠", Description = "Clock Face Five-Thirty" };
            items[159] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56661", Shortcut = "🕕", Description = "Clock Face Six O’Clock" };
            items[160] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56673", Shortcut = "🕡", Description = "Clock Face Six-Thirty" };
            items[161] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56662", Shortcut = "🕖", Description = "Clock Face Seven O’Clock" };
            items[162] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56674", Shortcut = "🕢", Description = "Clock Face Seven-Thirty" };
            items[163] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56663", Shortcut = "🕗", Description = "Clock Face Eight O’Clock" };
            items[164] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56675", Shortcut = "🕣", Description = "Clock Face Eight-Thirty" };
            items[165] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56664", Shortcut = "🕘", Description = "Clock Face Nine O’Clock" };
            items[166] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56676", Shortcut = "🕤", Description = "Clock Face Nine-Thirty" };
            items[167] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56665", Shortcut = "🕙", Description = "Clock Face Ten O’Clock" };
            items[168] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56677", Shortcut = "🕥", Description = "Clock Face Ten-Thirty" };
            items[169] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56666", Shortcut = "🕚", Description = "Clock Face Eleven O’Clock" };
            items[170] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56678", Shortcut = "🕦", Description = "Clock Face Eleven-Thirty" };
            items[171] = new EmojiMenuShortcutItem { SurrogateSequence = "10006", Shortcut = "✖", Description = "Heavy Multiplication X" };
            items[172] = new EmojiMenuShortcutItem { SurrogateSequence = "10133", Shortcut = "➕", Description = "Heavy Plus Sign" };
            items[173] = new EmojiMenuShortcutItem { SurrogateSequence = "10134", Shortcut = "➖", Description = "Heavy Minus Sign" };
            items[174] = new EmojiMenuShortcutItem { SurrogateSequence = "10135", Shortcut = "➗", Description = "Heavy Division Sign" };
            items[175] = new EmojiMenuShortcutItem { SurrogateSequence = "9824", Shortcut = "♠", Description = "Black Spade Suit" };
            items[176] = new EmojiMenuShortcutItem { SurrogateSequence = "9829", Shortcut = "♥", Description = "Black Heart Suit" };
            items[177] = new EmojiMenuShortcutItem { SurrogateSequence = "9827", Shortcut = "♣", Description = "Black Club Suit" };
            items[178] = new EmojiMenuShortcutItem { SurrogateSequence = "9830", Shortcut = "♦", Description = "Black Diamond Suit" };
            items[179] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56494", Shortcut = "💮", Description = "White Flower" };
            items[180] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56495", Shortcut = "💯", Description = "Hundred Points Symbol" };
            items[181] = new EmojiMenuShortcutItem { SurrogateSequence = "10004", Shortcut = "✔", Description = "Heavy Check Mark" };
            items[182] = new EmojiMenuShortcutItem { SurrogateSequence = "9745", Shortcut = "☑", Description = "Ballot Box With Check" };
            items[183] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56600", Shortcut = "🔘", Description = "Radio Button" };
            items[184] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56599", Shortcut = "🔗", Description = "Link Symbol" };
            items[185] = new EmojiMenuShortcutItem { SurrogateSequence = "10160", Shortcut = "➰", Description = "Curly Loop" };
            items[186] = new EmojiMenuShortcutItem { SurrogateSequence = "12336", Shortcut = "〰", Description = "Wavy Dash" };
            items[187] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56625", Shortcut = "🔱", Description = "Trident Emblem" };
            items[188] = new EmojiMenuShortcutItem { SurrogateSequence = "9724", Shortcut = "◼", Description = "Black Medium Square" };
            items[189] = new EmojiMenuShortcutItem { SurrogateSequence = "9723", Shortcut = "◻", Description = "White Medium Square" };
            items[190] = new EmojiMenuShortcutItem { SurrogateSequence = "9725", Shortcut = "◽", Description = "White Medium Small Square" };
            items[191] = new EmojiMenuShortcutItem { SurrogateSequence = "9642", Shortcut = "▪", Description = "Black Small Square" };
            items[192] = new EmojiMenuShortcutItem { SurrogateSequence = "9643", Shortcut = "▫", Description = "White Small Square" };
            items[193] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56634", Shortcut = "🔺", Description = "Up-Pointing Red Triangle" };
            items[194] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56626", Shortcut = "🔲", Description = "Black Square Button" };
            items[195] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56627", Shortcut = "🔳", Description = "White Square Button" };
            items[196] = new EmojiMenuShortcutItem { SurrogateSequence = "9899", Shortcut = "⚫", Description = "Medium Black Circle" };
            items[197] = new EmojiMenuShortcutItem { SurrogateSequence = "9898", Shortcut = "⚪", Description = "Medium White Circle" };
            items[198] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56628", Shortcut = "🔴", Description = "Large Red Circle" };
            items[199] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56629", Shortcut = "🔵", Description = "Large Blue Circle" };
            items[200] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56635", Shortcut = "🔻", Description = "Down-Pointing Red Triangle" };
            items[201] = new EmojiMenuShortcutItem { SurrogateSequence = "11036", Shortcut = "⬜", Description = "White Large Square" };
            items[202] = new EmojiMenuShortcutItem { SurrogateSequence = "11035", Shortcut = "⬛", Description = "Black Large Square" };
            items[203] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56630", Shortcut = "🔶", Description = "Large Orange Diamond" };
            items[204] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56631", Shortcut = "🔷", Description = "Large Blue Diamond" };
            items[205] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56632", Shortcut = "🔸", Description = "Small Orange Diamond" };
            items[206] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56633", Shortcut = "🔹", Description = "Small Blue Diamond" };

            for (int i = 0; i < items.Length; i++)
            {
                PictureBox pic = new PictureBox();
                pic.BackColor = Color.White;
                pic.Size = new Size(24, 24);
                int per_line = 8;
                pic.Location = new Point(1 + ((i % per_line) * 24) + (i % per_line), 1 + ((i / per_line) * 24) + (i / per_line));
                pic.Cursor = Cursors.Hand;
                pic.Tag = items[i];
                pic.MouseHover += this.pic_MouseHover;
                pic.Click += callback;
                EmojiItem item = Emoji.EmojiFromSurrogate(items[i].SurrogateSequence);
                pic.ImageLocation = Path.Combine(Settings.AppPath, "emoji", "at24", item.FileName);
                pic.SizeMode = PictureBoxSizeMode.CenterImage;
                this.Controls.Add(pic);
            }
        }

        private void pic_MouseHover(object sender, EventArgs e)
        {
            PictureBox pb = (PictureBox)sender;
            this.tip.SetToolTip(pb, ((EmojiMenuShortcutItem)pb.Tag).Description);
        }
    }
}
